#ifndef _WORLD_H_
#define _WORLD_H_

#include <vector>
#include "world_entity.h"
#include "physics_calc.h"

using namespace std;

class PhysicsCalc;
class CollisionDetector;
class WorldEntity;
class WorldPlayer;


class World
{
	private:
		vector<WorldEntity*> entities;

		PhysicsCalc *physicsCalc;
		
	public:
		World(void);
		~World(void);
		void addEntity(WorldEntity *entity);
		void removeEntity(WorldEntity *entity);
		int getEntityCount(void);
		WorldEntity *getEntity(int i);
		void addForce(WorldPlayer *player, Vector2D force);
		
		void updateWorld(double delta);
		
		void shootProjectile(int type, float x, float y, Vector2D vel, Vector2D acc, Vector2D gravity, WorldPlayer *owner);
};

#endif
